package NoP2P;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;

public class Arquivo {
	public static void criarArquivoTeste(String nno){
		int i = 0;
		File arquivo = null;
		String nome;
		do{
			nome = "teste"+i+nno+".txt";
			arquivo = new File(nome);
			i++;	
		}while(arquivo.exists());
		try {
			arquivo.createNewFile();
			FileWriter fw =new FileWriter(arquivo);
			BufferedWriter bw = new BufferedWriter( fw );
			bw.write(nome);
			bw.newLine();
			bw.close();
			fw.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static void gerarLogTemporal(String operacao, long delta, Long tamanho){
		File log = new File(operacao+".txt");
		try {
			log.createNewFile();
			FileWriter fw =new FileWriter(log);
			BufferedWriter bw = new BufferedWriter( fw );
			String arquivo = "Tempo necessario para "+ operacao +":\n";
			if(delta/60 < 2) arquivo += delta + " milissegundos";
			else arquivo += (delta/60) + " segundos";
			if(tamanho != null) arquivo += "\nTamanho do arquivo em questao: "+tamanho + " bytes";
			bw.newLine();
			bw.write(arquivo);
			bw.close();
			fw.close();
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	public static String lerLocal(String nomeArquivo){
		File arquivo = new File( nomeArquivo);
		FileReader fr = null;;
		try {
			fr = new FileReader( arquivo );
		} catch (FileNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		BufferedReader br = new BufferedReader( fr );
		//equanto houver mais linhas
		String leitura = "";
		try {
			while( br.ready() ){
				//lê a proxima linha
				leitura += br.readLine()+"\n";
			}
			br.close();
			fr.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return leitura;
	}
}
